/*
 * @lc app=leetcode.cn id=860 lang=java
 *
 * [860] 柠檬水找零
 */

// @lc code=start
class Solution {
    public boolean lemonadeChange(int[] bills) {
        int cnt5 = 0;
        int cnt10 = 0;
        int cnt20 = 0;

        for(int bill : bills){
            if(20 == bill){
                //找10元
                if(cnt10>0) {
                    cnt10--;
                }else {
                    cnt5--;
                    cnt5--;
                }
                //找5元
                cnt5--;
                cnt20++;
            }
            if(10 == bill){
                //找5元
                cnt5--;
                cnt10++;
            }
            if(5 == bill){
                cnt5++;
            }
            if(cnt5<0 || cnt10<0 || cnt20<0){
                return false;
            }
        }

        return true;
    }
}
// @lc code=end

